package com.acsior.hibernate.vo;

// default package

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.acsior.dac.impl.hibernate.vo.GeneratorKey;
import com.acsior.dac.impl.hibernate.vo.HibernatePersistantIntegerIdVO;

/**
 * StationCashBoxTransactionPostman entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "station_cash_box_transactions_postman")
@GeneratorKey(tableName = "station_cash_box_transactions_postman")
public class StationCashBoxTransactionPostmanVO extends HibernatePersistantIntegerIdVO {

	/** */
	private static final long serialVersionUID = -7466205211054508725L;

	// Fields

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "station_cash_box_transaction_id", nullable = false)
	private StationCashBoxTransactionVO transaction;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "employee_serviced_postman_id", nullable = false)
	private EmployeeVO employee;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "postman_payment_id", nullable = true)
	private PostmanPaymentVO postmanPayment;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "postman_id", nullable = false)
	private PostmanVO postman;

	// Constructors

	/** default constructor */
	public StationCashBoxTransactionPostmanVO() {
		super();
	}

	/**
	 * @return стойността на transaction
	 */
	public StationCashBoxTransactionVO getTransaction() {
		return this.transaction;
	}

	/**
	 * @param transaction
	 *            се залага в transaction
	 */
	public void setTransaction(StationCashBoxTransactionVO transaction) {
		this.transaction = transaction;
	}

	/**
	 * @return стойността на employee
	 */
	public EmployeeVO getEmployee() {
		return this.employee;
	}

	/**
	 * @param employee
	 *            се залага в employees
	 */
	public void setEmployee(EmployeeVO employee) {
		this.employee = employee;
	}

	/**
	 * @return стойността на postmanPayment
	 */
	public PostmanPaymentVO getPostmanPayment() {
		return this.postmanPayment;
	}

	/**
	 * @param postmanPayment
	 *            се залага в postmanPayment
	 */
	public void setPostmanPayment(PostmanPaymentVO postmanPayment) {
		this.postmanPayment = postmanPayment;
	}

	/**
	 * @return the postman
	 */
	public PostmanVO getPostman() {
		return this.postman;
	}

	/**
	 * @param postman the postman to set
	 */
	public void setPostman(PostmanVO postman) {
		this.postman = postman;
	}
}